home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / utility / v11n04.zip / ITER.BAT < prev    next >
DOS Batch File  |  1991-06-12  |  4KB  |  131 lines

  1. @ECHO OFF
  2. IF '%1'=='' GOTO EntryErr
  3. IF %1==cleanup GOTO end
  4. IF %1==CLEANUP GOTO end
  5. IF '%2'=='' GOTO EntryErr
  6.  
  7. REM Create file using first parameter
  8.  
  9. IF EXIST %1\NUL GOTO fail
  10. IF EXIST %1 GOTO fail
  11. MD %1
  12. REM > %1\%1
  13.  
  14. REM Determine inidividual digits and length of first parameter
  15. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\%%a* SET _1=%%a
  16. SET digcount=1
  17. IF EXIST %1\%_1% GOTO found
  18. IF '%_1%'=='' GOTO EntryErr
  19.  
  20. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\?%%a* SET _2=%%a
  21. SET digcount=2
  22. IF EXIST %1\%_1%%_2% GOTO found
  23. IF '%_2%'=='' GOTO EntryErr
  24.  
  25. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\??%%a* SET _3=%%a
  26. SET digcount=3
  27. IF EXIST %1\%_1%%_2%%_3% GOTO found
  28. IF '%_3%'=='' GOTO EntryErr
  29.  
  30. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\???%%a* SET _4=%%a
  31. SET digcount=4
  32. IF EXIST %1\%_1%%_2%%_3%%_4% GOTO found
  33. IF '%_4%'=='' GOTO EntryErr
  34.  
  35. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\????%%a* SET _5=%%a
  36. SET digcount=5
  37. IF EXIST %1\%_1%%_2%%_3%%_4%%_5% GOTO found
  38. IF '%_5%'=='' GOTO EntryErr
  39.  
  40. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\?????%%a* SET _6=%%a
  41. SET digcount=6
  42. IF EXIST %1\%_1%%_2%%_3%%_4%%_5%%_6% GOTO found
  43. IF '%_6%'=='' GOTO EntryErr
  44.  
  45. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\??????%%a* SET _7=%%a
  46. SET digcount=7
  47. IF EXIST %1\%_1%%_2%%_3%%_4%%_5%%_6%%_7% GOTO found
  48. IF '%_7%'=='' GOTO EntryErr
  49.  
  50. FOR %%a IN (0 1 2 3 4 5 6 7 8 9) DO IF EXIST %1\???????%%a* SET _8=%%a
  51. SET digcount=8
  52. IF EXIST %1\%_1%%_2%%_3%%_4%%_5%%_6%%_7%%_8% GOTO found
  53. IF '%_8%'=='' GOTO EntryErr
  54.  
  55. REM Create and run temporary files
  56.  
  57. :found
  58. DEL %1\%1
  59. RD %1
  60. ECHO IF NOT '%%iterdone%%'=='' GOTO end > iter_run.bat
  61. ECHO IF %%1%%2%%3%%4%%5%%6%%7%%8==%1 GOTO quit >> iter_run.bat
  62. SHIFT
  63. SHIFT
  64. ECHO CALL %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 >> iter_run.bat
  65. ECHO GOTO end >> iter_run.bat
  66. ECHO :quit >> iter_run.bat
  67. ECHO ECHO %%1%%2%%3%%4%%5%%6%%7%%8 iterations completed. >> iter_run.bat
  68. ECHO SET iterdone=1 >> iter_run.bat
  69. ECHO :end >> iter_run.bat
  70. ECHO Running %0 %_1%%_2%%_3%%_4%%_5%%_6%%_7%%_8% times.
  71. SET args= |REM space character at end of set statement prevents error later.
  72. SET iteri=1
  73. SET iterj=2
  74. SET iterdone=
  75. :loop
  76. IF %iteri%==%digcount% GOTO lastpass
  77. ECHO FOR %%%%a IN (0 1 2 3 4 5 6 7 8 9) DO IF '%%iterdone%%'=='' CALL iter_%iterj% %args% %%%%a > iter_%iteri%.bat
  78. SET args=%args% %%%iteri%
  79. SET iteri=%iterj%
  80. IF %iterj%==7 SET iterj=8
  81. IF %iterj%==6 SET iterj=7
  82. IF %iterj%==5 SET iterj=6
  83. IF %iterj%==4 SET iterj=5
  84. IF %iterj%==3 SET iterj=4
  85. IF %iterj%==2 SET iterj=3
  86. GOTO loop
  87. :lastpass
  88. SET iteri=
  89. SET iterj=
  90. ECHO FOR %%%%a IN (0 1 2 3 4 5 6 7 8 9) DO IF '%%iterdone%%'=='' CALL iter_run %args% %%%%a > iter_%digcount%.BAT
  91. SET args=
  92. CALL iter_1
  93. GOTO end
  94.  
  95. REM Error code for improper entry by operator
  96.  
  97. :EntryErr
  98. IF EXIST %1\%1 DEL %1\%1
  99. IF EXIST %1\NUL RD %1
  100. ECHO USAGE: ITER x command arg1 arg2 ... arg9
  101. ECHO where x is a number of less than 9 digits representing the number
  102. ECHO of iterations of the command to run.
  103. GOTO end
  104.  
  105. REM Error code for first parameter can't be used to create directory
  106.  
  107. :fail
  108. ECHO Unable to run -- %1 exists as a directory or file.  Use a
  109. ECHO different count or run in another directory.
  110.  
  111. REM Code to clear all variables used and delete temporary files
  112.  
  113. :end
  114. ECHO Cleaning up...
  115. SET _1=
  116. SET _2=
  117. SET _3=
  118. SET _4=
  119. SET _5=
  120. SET _6=
  121. SET _7=
  122. SET _8=
  123. SET args=
  124. SET digcount=
  125. SET iterdone=
  126. SET iteri=
  127. SET iterj=
  128. IF EXIST Iter_*.BAT DEL ITER_*.BAT
  129.  
  130.  
  131.